Redis cluster实验多master写入、主从复制、高可用性
1 | redis cluster,提供了多个master,数据可以分布式存储在多个master上; |
1 | redis cluster,提供了多个master,数据可以分布式存储在多个master上 |
实验多master写入 -> 海量数据的分布式存储
1 | 在redis cluster写入数据的时候,其实是你可以将请求发送到任意一个master上去执行 |
写数据
1 | [root@matrix-cache01 ~]# redis-cli -h 192.168.31.231 -p 7001 |
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -p 7003 |
读数据
1 | [root@matrix-cache01 ~]# redis-cli -h 192.168.31.231 -p 7001 |
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -p 7003 |
什么叫做多master的写入
1 | 每条数据只能存在于一个master上,不同的master负责存储不同的数据,分布式的数据存储 |
1 | 100w条数据,5个master,每个master就负责存储20w条数据,分布式数据存储 |
1 | 大型的java系统架构,还专注在大数据系统架构 |
1 | redis是作为大规模缓存架构中的底层的核心存储的支持 |
实验不同master各自的slave读取 -> 读写分离
查看slave
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -p 7003 |
在slave中读取数据
1 | 在这个redis cluster中,如果你要在slave读取数据 |
1 | [root@matrix-cache03 ~]# redis-cli -h 192.168.31.233 -p 7006 |
1 | redis-cli -c启动,就会自动进行各种底层的重定向的操作 |
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -p 7003 -c |
1 | 实验redis cluster的读写分离的时候,会发现有一定的限制性,默认情况下,redis cluster的核心的理念,主要是用slave做高可用的,每个master挂一两个slave,主要是做数据的热备,还有master故障时的主备切换,实现高可用的 |
1 | slave node,readonly,get,这个时候才能在slave node进行读取 |
实验自动故障切换 -> 高可用性
1 | redis-trib.rb check 192.168.31.232:7003 |
查看master的slave
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -p 7003 |
kill掉master
1 | [root@matrix-cache02 ~]# ps aux | grep redis |
观察slave是否变成master
1 | [root@matrix-cache03 ~]# redis-cli -h 192.168.31.233 -p 7006 |
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -p 7003 |
查看集群效果
1 | [root@matrix-cache01 ~]# cd /usr/local |

本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2017/06/26/Redis cluster实验多master写入、主从复制、高可用性/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得